home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 122_01 / sysvars < prev    next >
Text File  |  1984-03-05  |  8KB  |  224 lines

  1. SYSTEM VARIABLES (Pointers to memory locations)
  2. copyright (C) 1983 by E. E. Bergmann
  3. definitions in alphabetical(ASCII) order
  4. :
  5. ::
  6. *********************************************************
  7. *                            *
  8. * PISTOL-Portably Implemented Stack Oriented Language    *
  9. *            Version 2.0            *
  10. * (C) 1983 by    Ernest E. Bergmann            *
  11. *        Physics, Building #16            *
  12. *        Lehigh Univerisity            *
  13. *        Bethlehem, Pa. 18015            *
  14. *                            *
  15. * Permission is hereby granted for all reproduction and *
  16. * distribution of this material provided this notice is *
  17. * included.                        *
  18. *                            *
  19. *********************************************************
  20. :
  21. ::
  22. {unless specified otherwise, pointers are to RAM locations}
  23.  
  24. #GET-ADDR    Assigned the address of #GETLINE (which is
  25.         later UNLINKed) which is defined in PISTOL to
  26.         take the line number that is on top of stack,
  27.         locate the line (in the edit buffer) and copy
  28.         it into LINEBUF where it can be accessed
  29.         subsequently by the PISTOL compiler.
  30.  
  31. #LINES        After PISTOL accepts input for compilation, the
  32.         variable is reset to 0. As each line is output
  33.         this variable is incremented and compared with
  34.         the current value of TERMINAL-PAGE; if equal
  35.         input from the user (typically a carriage
  36.         return) is used to cause a pause in the output
  37.         scrolling.  At this point, any input character
  38.         will cause #LINES to be reset to 0.  If the
  39.         input character is a 'Q', the current activity
  40.         is ABORTed.
  41.  
  42. (PISTOL<)    Variable that contains pointer to most recent
  43.         definition in the PISTOL< vocabulary branch;
  44.         see PISTOL<, below.
  45.  
  46. (UNLINKED<)    Variable that contains pointer to most recent
  47.         definition in the UNLINKED< vocabulary branch;
  48.         see UNLINKED<, below.
  49.  
  50.  
  51.  
  52. .C        Used during compilation to point to where the
  53.         next word token will be placed in the compile
  54.         buffer.
  55.  
  56. .D        The "dictionary pointer";  Its value points to
  57.         the next available word address at the end of
  58.         the dictionary in RAM.  It advances as a result
  59.         of each new definition.
  60.  
  61. .V        --> (pointer to top of vocabulary stack)
  62.         It is the vocabulary stack pointer.
  63.  
  64. ABORT-PATCH    Normally contains FALSE, but may be assigned
  65.         the address of a routine that should be
  66.         performed after a standard ABORT.
  67.  
  68. BRANCH-LIST    Each time a BRANCH definition is created it is
  69.         added to the head of a threaded list of
  70.         vocabulary branches.  BRANCH-LIST points to the
  71.         most recently defined branch.
  72.  
  73. COLUMN        Variable that contains the column number that
  74.         the console is at during output.  It is reset
  75.         to 0 whenever a NEWLINE character is output.
  76.         During output to the console if the value of
  77.         COLUMN becomes equal to the value of
  78.         TERMINAL-WIDTH then a new line is begun.
  79.  
  80. COMPILE-END-PATCH
  81.         Normally has the value of FALSE.  It may be
  82.         assigned the address of a proceedure to be
  83.         invoked after every compilation, prior to
  84.         the normal execution of the compile buffer.
  85.         It is used, for example, in SHOWCODE, to cause
  86.         the contents of the compile buffer to be
  87.         displayed prior to execution.
  88.  
  89. CONSOLE        Boolean variable that will prevent output
  90.         to the user's terminal if it is set to FALSE.
  91.         Probably would be used in connection with
  92.         writing lengthy output to the listfile when
  93.         there is no desire to have this information
  94.         presented to the user's console as well.
  95.  
  96. CONVERT-PATCH    Normally holds FALSE but may be patched with
  97.         the address of a routine that would be invoked
  98.         in the event the compiler cannot decipher the
  99.         input token (cannot FIND it, cannot convert it
  100.         into a numerical value, nor be able to
  101.         recognize it as a quoted string).  It has
  102.         potential application to providing floating
  103.         point number recognition and/or special number
  104.         bases, e.g.: 0A000H or 0xA000.
  105.  
  106. CURRENT        Variable containing pointer to vocabulary
  107.         branch into which the next word definition
  108.         will be placed.  Normally, this pointer points
  109.         at the last definition.
  110.  
  111. CURRENT-EOSTRINGS
  112.         "current end of strings" points to the end of
  113.         strings that have been created during the most
  114.         recent compilation, which, generally have
  115.         pointers to them on stack.  The area in strings
  116.         between OLD-EOSTRINGS and CURRENT-EOSTRINGS
  117.         will be recycled during the next compilation
  118.         because compilation starts by resetting the
  119.         CURRENT-EOSTRINGS to the OLD-EOSTRINGS.
  120.         Strings are made "permanent" by advancing the
  121.         OLD-EOSTRINGS to the CURRENT-EOSTRINGS.
  122.  
  123. ECHO        Boolean variable which, when set TRUE, causes
  124.         whatever PISTOL code that is being LOADed to be
  125.         listed as it is being compiled.
  126.  
  127. INPUTFILE-STATUS
  128.         Contains the status of the file being input by
  129.         the editor (opened by OPENR).  If its value is
  130.         0, the file has just been opened. If positive,
  131.         it is a count of the number of lines read so
  132.         far.  If -1, no file has been opened or: if
  133.         negative, the number of lines read (magnetude)
  134.         and the file is in an eof condition.
  135.  
  136. INFILE        Does not contain 0 when LOADing from a file
  137.         or from the edit buffer.  Contains pointer to
  138.         original (temporary) filename string if
  139.         inputing from a file.  If input is from the
  140.         edit buffer, its contents is the current line
  141.         number.  INFILE contains 0 [false] when
  142.         interpreting from the console keyboard.
  143.  
  144. LIST        Boolean variable when true causes the system
  145.         to output everything that would go to the
  146.         user's console to the listfile as well.  (see
  147.         LISTFILE in i/o).
  148.  
  149. NEXTCH^        Pointer to the next character in LINEBUF (in
  150.         the strings area) that is to be compiled.
  151.         This variable is used by the compiler but is
  152.         potentially useful for routines that might be
  153.         written in PISTOL to extend the compiler.
  154.  
  155. OLD-EOSTRINGS    Pointer-to-character variable that points to
  156.         the first character location beyond the last
  157.         "permanent" string.  See the above discussion
  158.         for CURRENT-EOSTRINGS.
  159.  
  160. OLDLINE#    Holds the number of the numbered line last
  161.         located.  Although primarily used to speed
  162.         searching for successively numbered lines,
  163.         it may prove useful to find out which numbered
  164.         line was last found prior to the compiler
  165.         quitting.
  166.  
  167. OUTPUT-STATUS    Indicates status of file for editor's output
  168.         (file opened by OPENW).  If value is +1, no
  169.         file has been opened yet, or it has been
  170.         logically closed.  If the value is 0, the file
  171.         has just been opened, but not yet used.  If
  172.         negative, it's magnetude is the count of the
  173.         number of lines written to the file so far.
  174.  
  175. PREVIOUS    Variable that contains the address of the
  176.         previous link to the definition last found
  177.         by FIND or VFIND.  It is used by UNLINK and
  178.         RELINK to obtain the link to the item searched
  179.         for.
  180.  
  181. PROMPT-PATCH    Patch location to place address of replacement
  182.         procedure for standard prompt.
  183.  
  184. RADIX        Contains currentt number base used for i/o
  185.         number conversions.  For example, it is set to
  186.         ten for DECIMAL mode.
  187.  
  188. RADIX-INDICATOR    Points to character that should indicate
  189.         (during prompt) the current numerical
  190.         conversion mode: 'H' for hexadecimal; 'X' for
  191.         decimal; 'Q' for octal; and 'B' for binary.
  192.  
  193. RAISE        Boolean variable which causes system to convert
  194.         all word tokens and single-quote strings to
  195.         upper case.
  196.  
  197. SYNTAXBASE    Points to character count of character string
  198.         that serves as the syntax check stack.  The
  199.         syntax stack can be displayed in the same
  200.         manner as the prompt with:
  201.         SYNTAXBASE MSG
  202.  
  203. TAB-SIZE    Normally set to 8. It determines the space
  204.         between tab stops.
  205.  
  206. TERMINAL-PAGE    Determines number of lines output between
  207.         scrolling pauses.  See #LINES .
  208.  
  209. TERMINAL-WIDTH    Determines number of characters per line before
  210.         automatic newlines.  See COLUMN .
  211.  
  212. TRACE-ADDR    Patched with the address of the (TRACE) routine
  213.         that is used during TRACE.
  214.  
  215. TRACE-LEVEL    If FALSE no TRACE action is performed.  If
  216.         positive, determines, level (depth of return
  217.         stack) at which TRACE diagnostic information
  218.         is displayed.  This variable is manipulated by
  219.         TRACE and by (TRACE).  It should not be
  220.         modified by the user directly.
  221.  
  222. :
  223. or
  224.         decim